Positional scrolling

ABSTRACT

A method and system for electronically scrolling a document with a data processing apparatus uses an input device, e.g., a mouse, to permit position based scrolling without first accessing a scroll bar or other scrolling functionality element. In a page positional scrolling (PPS) mode useful for scrolling short distances, a displayed document is scrolled one pixel per one pixel of motion of the mouse. In a second mode (document positional scrolling—DPS), the document is scrolled a distance per pixel of mouse movement corresponding to the ratio of the document length (or width) to the page length (or width). In a further embodiment (smoothed document positional scrolling—SDPS), as the mouse is moved away from a starting position the system begins scrolling in PPS, transitions smoothly from PPS to DPS, and then continues to scroll in DPS.

[0001] A portion of the disclosure of this patent document containsmaterial which is subject to copyright protection. The copyright ownerhas no objection to the facsimile reproduction by anyone of the patentdocument or the patent disclosure, as it appears in the Patent andTrademark Office patent file or records, but otherwise reserves allcopyright rights whatsoever.

BACKGROUND OF THE INVENTION

[0002] The present invention relates generally to user-actuatednavigation of a document using a data processing apparatus. Moreparticularly, the invention relates to enhancing electronic scrolling ofa document through use of a cursor control device.

[0003] The computer mouse has simplified the computer-human interface.Before the computer mouse, many users were confined to interacting witha computer through the use of a command line interface (CLI as is knownin the art). The computer mouse (also commonly referred to simply as a“mouse”) has, in recent years, been improved upon with the inclusion ofa wheel on the top of the mouse. An example of a wheeled mouse is shownin FIG. 1. The function of the wheel 106 is to scroll the text ordocument or image located below a displayed cursor 113 shown on a visualdisplay device 112. The wheel is linked to an optically encoded wheelfor sensing the rotational location of the wheel 106. To allow forfeedback to the user, the wheel contains a number of notches (not shownfor simplicity). When rotated, a user is presented with tactile feedbackof the distance rotated through sensing the number of notches rotated bythe wheel. The function of wheel 106 is interpreted through signals sentfrom mouse 101 through a cable 110 to a computer 109 having a memory 114and a processor 115. Shown for completeness is a keyboard 116, which isgenerally used in combination with mouse 101 for various operations asare known in the art. For example, rotating the wheel away from the usermay scroll the underlying displayed content down so as to show anotherportion of the displayed content immediately preceding the originallydisplayed content. Likewise, rotating the wheel toward the user mayscroll the underlying displayed content up.

[0004] Other features of a wheeled mouse and alternative techniques ofnavigating a display through the use of the wheeled mouse are disclosedin U.S. Ser. No. 09/212,898, filed Dec. 16, 1998, for “System and Methodof Adjusting Display Characteristics of a Displayable Data File Using AnErgonomic Computer Input Device.” The contents of this application arehereby incorporated by reference herein.

[0005] When a user desires to move long distances through a documentdisplayed on a computer, various methods can be used. Using a typicalcomputer keyboard, the user can use cursor arrows or page up and pagedown keys. Referring to FIG. 2, a GUI of a known word processingapplication shown an exemplary display window 200. Associated withwindow 200 are a vertical scroll bar 202 and a horizontal scroll bar204. On each scroll bar 202, 204 there is a thumb 206, 208, anassociated trough 210, 212, and a pair of navigation arrows (214 a, 214b), (216 a, 216 b). Using a mouse or other conventional input device,e.g., trackball or touch pad, a user can interact in various ways withthe scroll bars 202, 204. However, the use of scroll bars can be timeconsuming and distracting. The user must divert his/her attention awayfrom the open document while an element of the scroll bar is acquired.As the user scrolls, the user must continuously divide his/her attentionbetween the document and the scroll bar itself. In addition, some usersmay consider conventional scroll bars to be overly complicated, byvirtue of the three different scrolling functionality elements utilized.The thumb 206, 208 of the scroll bar may be dragged in order to movequickly from one end of the document to the other. The navigation arrows(214 a, 214 b), (216 a, 216 b) may be clicked in order to move one lineat a time. The trough 210, 212 of the scroll bar may be clicked in orderto scroll up or down one screen at a time.

[0006] Scrolling through a computer document using wheel 106 on wheeledcomputer mouse 101 is helpful in that it provides useful documenthandling without the need to access the keyboard or displayed scrollbars. In a known wheel scrolling system, for every notch indent ofrotation of the wheel, the screen display may scroll only one line.While this is effective for scrolling short distances, it is tedious andtime consuming for scrolling longer distances.

[0007] A known “rate based” (position-rate mapping) scrolling systemuses a mouse wheel or other button for scrolling through a displayedcomputer document. When the user clicks the wheel button and then dragsthe mouse, scrolling is carried out at a speed (rate) proportional tothe displacement of the mouse from the point where the dragging motionwas initiated. The scrolling continues until the user clicks the mousewheel a second time. Alternatively, rate-based scrolling occurs whilethe wheel is clicked and held, until released. Many users find thatprecision scrolling is difficult with this “rate based” scrollingcontrol. Studies have shown rate based scrolling as implemented with amouse to be non-intuitive and slower as compared with other known cursorcontrol schemes.

[0008] Some computer applications, such as Adobe Acrobat Reader®, employa technique that allow the user to “grab” a document with the mouse andmove the document in relation to the movement of the mouse. Thistechnique has a number of drawbacks. The grabbing technique moves thedocument in the same direction as the mouse is moved, which isinconsistent with the use of the scroll bar and thus potentiallyconfusing to users. Also, while the grabbing is being performed, themouse cursor is visible and limited in movement by the edges of thedisplay window. Grabbing may be an optional mode of an application.Thus, the user may be required to click on a menu button to activate thegrabbing mode, which takes the user's attention away from the opendocument. Likewise, if the user has activated another mode, such aszooming, then grabbing is no longer available unless the user againactivates a menu button to switch modes. Additionally, the grabbingfunctionality is implemented by specific applications and is notperformed system wide. Also the grabbing mode offered in applications,such as Adobe, allows the user only to scroll within a displayed page;the mode is thus cumbersome and inappropriate for scrolling throughmultiple pages.

[0009] A less time consuming, less distracting and less complicatedsystem for electronic scrolling of documents would represent asignificant advancement in the art, as would a more accurate system forscrolling that is easier to control and which combines multiplefunctional modes for scrolling both long and short distances.

SUMMARY OF THE INVENTION

[0010] The present invention provides, in a first aspect, a scrollingcontrol system for use with a data processing device having a display.An input device provides, in response to user actuations of the device,control of a cursor position on the display. At least one user actuatedswitch is provided. Control means are responsive to a user actuation ofthe switch to enter a view scrolling mode wherein scrolling of adocument is controlled such that a scroll amount is based upon aposition value determined by a user actuation of the input device,independent of a position of the cursor in relation to any scrollfunctionality elements appearing on said display.

[0011] In a second aspect, the invention is embodied in a method forcontrolling scrolling of a document in a data processing system having adisplay, a user actuated switch and an input device that providespositional control of a cursor on said display in response to a useractuation of the input device. In the method, a view scrolling mode isentered in response to a user actuation of the switch. View scrolling iscontrolled such that a scroll amount is based on a position valuedetermined by the user actuation of the input device. The scrollingcontrol is independent of a position of the cursor in relation to anyscroll functionality elements appearing on the display.

[0012] In a third aspect, the invention is embodied in a scrollingcontrol system for use with a data processing device having a display.An input device provides, in response to user actuations of the device,control of a cursor position on the display. At least one user actuatedswitch is provided. Control means are responsive to a user actuation ofthe switch to enter a scrolling mode wherein scrolling of a document iscontrolled such that a scroll amount is based upon a position valuedetermined by a user actuation of the input device. The scrolling modecomprises a page positional scrolling mode wherein a one-to-onerelationship exists between a displacement represented by the positionvalue and a scroll amount. The scrolling mode further comprises adocument positional scrolling mode wherein a unit amount of displacementrepresented by the position value results in a scroll amountcorresponding to one of a ratio of document length to page length and aratio of document width to page width. The scrolling mode still furthercomprises a transitional scrolling mode providing a scroll amount thatvaries between the scroll amount obtained in the PPS mode and the scrollamount obtained in the DPS mode.

[0013] In a fourth aspect, the invention is embodied in a method forcontrolling scrolling of a document in a data processing system having adisplay, a user actuated switch and an input device that providespositional control of a cursor on said display in response to a useractuation of the input device. In the method, a scrolling mode isentered in response to a user actuation of the switch. Scrolling iscontrolled such that a scroll amount is based on a position valuedetermined by the user actuation of the input device. The scrolling modecomprises a page positional scrolling mode wherein a one-to-onerelationship exists between a displacement represented by the positionvalue and a scroll amount. The scrolling mode further comprises adocument positional scrolling mode wherein a unit amount of displacementrepresented by the position value results in a scroll amountcorresponding to one of a ratio of document length to page length and aratio of document width to page width. The scrolling mode still furthercomprises a transitional scrolling mode providing a scroll amount thatvaries between the scroll amount obtained in the PPS mode and the scrollamount obtained in the DPS mode.

[0014] In a fifth aspect, the invention is embodied in a scrollingcontrol system for use with a data processing device having a display.An input device provides, in response to user actuations of the device,control of a cursor position on the display. At least one user actuatedswitch is provided. Control means are responsive to a user actuation ofthe switch to enter a scrolling mode wherein scrolling of a document iscontrolled such that a scroll amount is based upon a position valuedetermined by a user actuation of the input device, independent of aposition of the cursor in relation to any scroll functionality elementsappearing on said display. The scrolling mode is a document positionalscrolling mode wherein a unit amount of displacement represented by theposition value results in a scroll amount corresponding to either to aratio of document length the page length or a ration of document widthto page width.

[0015] In a sixth aspect, the invention is embodied in a method forcontrolling scrolling of a document in a data processing system having adisplay, a user actuated switch and an input device that providespositional control of a cursor on said display in response to a useractuation of the input device. In the method, a scrolling mode isentered in response to a user actuation of the switch. Scrolling iscontrolled such that a scroll amount is based on a position valuedetermined by the user actuation of the input device. The scrollingcontrol is independent of a position of the cursor in relation to anyscroll functionality elements appearing on the display. The scrollingmode is a document positional scrolling mode wherein a unit amount ofdisplacement represented by the position value results in a scrollamount corresponding to either to a ratio of document length the pagelength or a ration of document width to page width.

[0016] The above and other aspects, features and advantages of thepresent invention will be readily apparent and fully understood from thefollowing detailed description of preferred embodiments, taken inconjunction with the appended drawings.

BRIEF DESCRIPTION OF DRAWINGS

[0017]FIG. 1A is a perspective view of a mouse having a wheel, togetherwith a diagrammatic representation of associated computer systemcomponents.

[0018]FIG. 1B is a side elevational view of the mouse shown in FIG. 1A.

[0019]FIG. 2 is a screen print illustrating a display window with scrollbars included as part of an exemplary graphical user interface (GUI).

[0020]FIGS. 3A and 3B diagrammatically depict regions for use ofdifferent scrolling modes in accordance with the invention.

[0021]FIG. 4 is a graphical depiction of a transition curve of a “slowin-slow out” function applied in a transition scrolling mode inaccordance with the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0022] The present invention employs a positional scrolling techniquethat permits electronic scrolling through a document with a dataprocessing apparatus. Scrolling may be carried out through movement of auser input device (e.g., a mouse) and independent of a conventionalscroll bar or other scrolling functionality display element. The term“document” is used broadly herein to refer to data files of all typesincluding, but not limited to, pages from the Internet, images,spreadsheets, calendars. Also, scrolling through non-viewable media isconsidered part of the invention, including scrolling through audio andvideo files. For example, computer audio players often include ahorizontal scroll bar that may be used to quickly scroll or jump to auser selectable position in the audio file. The invention may be appliedin lieu of or in addition to a scroll bar to permit scrolling. Computervideo players often include a similar feature for quickly moving througha video presentation, and the invention is equally applicable thereto.It will further be appreciated that the invention can be employed withvarious types of graphical user interfaces (GUI's), e.g., with orwithout windows, and with or without scroll bars or other scrollingfunctionality elements.

[0023] The invention is particularly useful for improving the scrollingperformance of isotonic input devices utilized for providing positionalcontrol of a displayed cursor. Isotonic input devices are devices thatare position sensing and not self-centering, such as a conventionalcomputer mouse, trackball, touch pad or electronic pen. However, theinvention may also be used with isometric input devices, such as theforce (strain) sensitive TrackPoints commonly found in laptop keyboards,and self-centering joysticks. In an exemplary embodiment, the computerinput device is a wheeled mouse as shown in FIGS. 1A and 1B, having awheel button 106 flanked by left and right mouse buttons 104, 105. Theinventive scrolling functionality is initiated by user actuation of aswitch, which may be (but is not necessarily) provided as part of thecomputer input device, e.g., wheel button 106 of mouse 101. It is alsopossible to implement the present invention using a conventionalcomputer keyboard with a built in a wheel button in conjunction with anon-wheeled mouse.

[0024] In contrast to known “rate based” scrolling techniques aspreviously described, the present invention uses a “position based”(position-to-position mapping) technique, to compute a scroll amountbased on a current relative position of the mouse. The inventive“position based” technique results in more intuitive control than theknown “rate based” scrolling technique.

[0025] In a first embodiment of the invention, a page-positionalscrolling (PPS) mode provides pixel-for-pixel mapping between an amountof movement of the mouse and the amount of scrolling within the activedisplay region. When the user clicks the button associated with thescrolling function and drags the mouse, each one pixel of mouse motionin a predetermined direction, e.g., toward the user, results in apredetermined number of pixels of view scrolling. For example, there maybe one pixel of view scrolling per one pixel of mouse movement. It isalso possible to use a gain factor, such as two, resulting in two pixelsof view scrolling for each one pixel of mouse movement. Other gainfactors can also be used. View scrolling is scrolling where the documenttext, image, etc. appears to move upwards as the cursor is moveddownwards. A reverse movement of the mouse (e.g., away from the user)results in a reverse scrolling of the document. Advantageously, PPSpermits precision scrolling of short distances and can be carried outwithout a repositioning of the mouse onto a scroll bar or other displayelement.

[0026] In a second mode, document positional scrolling (DPS) providesquick scrolling over the entire range of a document. When the userclicks the scroll button and drags the mouse, the system respondsessentially as if the user had clicked and dragged the thumb of a scrollbar, i.e., for every pixel of mouse movement the display is scrolled adistance equal to the ratio of document length to page length (or for ahorizontal scroll, the ratio of document width to page width). As withuse of the thumb of a scroll bar, DPS provides a means for quicklyscrolling through a lengthy document. Scrolling is facilitated with DPS,however, because scrolling may be carried out without the need toreposition the mouse to a scroll bar or other scrolling functionalitydisplay element.

[0027] In a vertical scroll embodiment, the system need only processmovement of the mouse along a single axis, e.g., an axis extendingtoward and away from the user. Movement of the mouse along an orthogonalaxis may be ignored. For each pixel the mouse moves in the predetermineddirection (corresponding to a vertical movement of the mouse cursor),the system scrolls the display as if a vertical scroll bar thumb hasmoved one pixel up or down, respectively. Optionally, the system may beset up to respond as if the user has clicked the thumb of a horizontalscroll bar. Still further, the system may be set up to respond as if theuser has simultaneously clicked the thumbs of both a horizontal scrollbar and a vertical scroll bar. In such case, the system is set-up toscroll the display horizontally and/or vertically in response to mousemovement along orthogonal axes.

[0028] In a further embodiment of the invention, smoothed documentpositional scrolling (SDPS) is performed. SDPS combines page-positionalscrolling and document-positional scrolling in a three-stage controlscheme which allows greater flexibility and advantage in scrolling bothshort and long distances. When the user clicks (or, optionally, clicksand holds) the associated button and drags the mouse, SDPS willinitially carry out PPS. As movement of the mouse continues in apredetermined direction, SDPS will smoothly transition between PPS andSDPS.

[0029] In SDPS, the system first records the position of the mouse asits home position. As the mouse is moved, the distance the mouse isoffset from its home position is tracked and recorded. The absolutevalue of the mouse offset Abs(Δy) (preferably measured in pixels) isused to assign the mouse pointer to one of three logical Regions A, B,and C, as shown in FIG. 3A. While the mouse offset falls within regionA, PPS is performed, giving the user smooth precision scrolling overshort distances. Once the mouse offset progresses into Region B, thesystem enters a scrolling transition mode wherein a smoothing functionis utilized to obtain a smooth transition from PPS to DPS. Once themouse offset progresses to fall within Region C, DPS is performed,giving the user rapid motion with a high gain factor to quickly scrolllonger distances.

[0030] In the illustrated exemplary embodiment, offset Region A isdefined as the pixel range 0<Abs(Δy)<=35; offset Region B is defined asthe pixel range 36<Abs(Δy)<=200, and Region C is defined as Abs(Δy)>200.FIG. 3B provides a two dimensional (screen-like) representation of theRegions A, B, C, relative to the position of a mouse cursor 300 atinitiation of SDPS. FIG. 3B illustrates a vertical scroll embodiment. Inthis embodiment, it is displacement of the mouse cursor in a verticaldirection that initiates SDPS. It will be understood that the sameprinciples can be applied equally to horizontal scrolling.

[0031] Preferably, a smoothing function as shown in FIG. 4 is used inRegion B to transition between PPS and SDPS. This function, termed a“slow in-slow out” function (SlowIO), has previously been used incomputer animation to transition between values as a function of time.In the present invention, the SlowIO function provides a transitionbetween two gain factors as a function of cursor/mouse displacement:G_(min) associated with region A, and G_(max) associated with region C.These factors are preferably set as follows: G_(min)=1 (one pixel to onepixel); G_(max)=Document Length/Page Length (as used by the verticalscroll bar—Document Width/Page Width, as used by a horizontal scrollbar). The SlowIO function is used to blend between the two gain factorsG_(min) and G_(max) based upon Abs(Δy). The resultant gain factorG_(actual) is:

G _(actual)=((G _(max) −G _(min))*SlowInOut(m, n))+G _(min)  (Equation1)

[0032] where m=Abs(Δy)−A′ and n=B′−A′. A′ is the boundary betweenRegions A and B; B′ is the boundary between Regions B and C. Theresultant amount of pixels to scroll Δpx is calculated based onG_(actual):

Δpx=G _(actual) *sgn(Δy)*Log(Abs(Δy)+1)  (Equation 2)

[0033] where sgn is the signum function, which provides a value of “1”if Δy is positive, “−1” if Δy is negative, and 0 if Δy is 0; Log is thenatural logarithm function.

[0034] The SlowIO function is essentially a sigmoid function used totransition between two gain factors, G_(min) and G_(max), in a smoothmanner. A linear transition can also be used. As used in the presentembodiment, SlowIO(m,n) is a three-stage function with functionboundaries C₁ and C₂, defined as follows:

If (m/n)<C ₁, then SlowIO(m,n)=((C ₂−1)/D)(m/n)²  (Equation 3A)

If (m/n)>C ₂, then SlowIO(m,n)=(1/D)((m/n)−2(m/n)+1)+1  (Equation 3B)

Otherwise, SlowIO(m,n)=M(m/n)−(C ₁ M/2)  (Equation 3C)

[0035] where, D=C₁ (C₂ ²−C₁C₂+C₁−1), and M=2 (C₂−1)/D. In a preferredembodiment, C₁=0.3 and C₂=0.8.

[0036] In a preferred embodiment, the home position of the mouse may bere-centered based on the speed (rate) at which the user moves the mouse(in a predetermined direction). When the user has moved the mouse farenough that the mouse offset would ordinarily enter Region B, but theuser moves the mouse slower than a predetermined threshold speed for apredetermined amount of time, the system can be set-up such that thehome position of the mouse is reset to the current mouse position, thuscausing the system to remain in the PPS mode. This effectivelyre-centers the Regions A, B, and C so that the user remains in Region A.In a preferred embodiment, the threshold speed is set at 120 pixels persecond (34 millimeters per second when a monitor with 0.28 mm dot pitchis used). Obviously, other threshold speeds may be selected.

[0037] If the user is moving the mouse faster than the threshold speed,the regions are not re-centered, and Δpx is calculated as above. Theregions do not re-center while the user continues moving the mouse abovethe threshold speed (in the predetermined direction), and the scrollingamount (per unit of mouse movement) will, in Region B, graduallyincrease as the mouse offset increases, in accordance with the SlowIOfunction illustrated in FIG. 4.

[0038] If the user continues to move the mouse above the threshold speedand reaches the end of Region B, the scrolling will be performed withthe maximum gain factor G_(max). This maximum gain factor is multipliedby the mouse offset to determine the resulting scroll amount Δpx, asdescribed above. Within Region C, scrolling is performed as it is duringdocument positional scrolling (DPS).

[0039] As previously stated, if the mouse offset enters Region B but thespeed of the mouse movement falls below a threshold speed, the RegionsA-C may be re-centered upon which the scrolling starts over again inRegion A. There are several other events that may also be used to causethe regions to re-center in this manner—regardless of the present valueof the mouse offset. For example, Regions A-C may be caused to re-centerif the user changes (e.g., reverses) scrolling direction. That is, whenΔy changes sign, the home point of the regions may be reset to thecurrent mouse position. Also, if at any time the user pauses mousemovement for a certain dwell time, the home position of the regions maybe reset to the current mouse position. In this manner, whenever theuser pauses to think, or changes his/her mind about which way to scrolldue to overshooting or other factors, the system can compensate byreducing the scrolling gain factor. A dwell time of 150 ms has beenfound to work well. While various dwell times maybe chosen, taking intoaccount user characteristics, in general a dwell time of at least 100 msis preferred.

[0040] Display of the mouse cursor may be inhibited while the abovescrolling operations are being performed. In a preferred embodiment ofthe invention, relative positioning of the mouse is determined withoutreference to an actual (visible) cursor on the display. As a result, theinventive scrolling technique can be carried out by moving the mousebeyond the point at which a visible cursor would have reached an edge ofthe active display region. By hiding the mouse cursor during theinventive scrolling operations, a misperception that scrolling controlis limited by the confines of the active screen display can be avoided,and the user can confidently continue to scroll by moving the mousewithout reference to the position of a visible mouse cursor. Instead ofhiding the mouse cursor, an alternative cursor or icon could bedisplayed to inform the user that the mouse or other input device isbeing used in a scrolling mode. Multiple cursors could be used toreflect which of the scrolling modes (PPS, DPS, and SDPS) is presentlybeing utilized.

[0041] The above scrolling modes may be provided as a user-selectableoption, chosen by individual applications, or selected by the systembased on the currently running application or observed user behavior.The inventive technique for smoothing scrolling input (SDPS) can also beapplied to traditional scroll bars. In such a case, SDPS may be appliedwhen the user clicks and drags the mouse cursor on the scroll bar thumb.

[0042] The invention may be implemented in firmware or software usingthe C programming language, or other languages such as C++, C#, VisualBasic, assembly language, and the like. The inventive techniques forscrolling are advantageously implemented on a system-wide level in theinput device (e.g., mouse) driver. This eliminates the need forindividual applications to support alternative scrolling modes. However,applications may implement their own custom variant of the inventivetechniques to thus override or ignore the messages from the mousedriver.

[0043] Page positional scrolling can be easily implemented in the mousedriver (on a systemwide level) because it does not depend ondocument/application specific information. In such an implementation“page-up” and “page-down” commands can be sent to the application.Document positional scrolling (DPS) is dependent on document length andor width but nonetheless may be implemented in the input device driverwithout the need to keep track of each document's length or width.Rather, the driver can simply set the scroll bar thumb position based onthe mouse (scrolling mode) input. That is, upon actuation of the DPSmode, the system can be set to react to mouse movement as it would haveif the user had clicked and dragged the scroll bar thumb in aconventional manner. With this type of implementation the smallestchange or quanta of movement is dependent on the scroll bar granularity,which is a function of document length or width in relation to scrollbar length or width, respectively. In one variation, to overcome thisgranularity, the mouse driver sends mouse wheel scrolling messages basedon the horizontal and vertical movement of the mouse. Scroll messageshave default granularity of three lines, and the granularity may be madeeven smaller depending on application or user preferences. For example,Microsoft's Internet Explorer can respond to scroll wheel messages withpixel-size granularity.

[0044] While the invention has been described with respect to specificexamples including presently preferred modes of carrying out theinvention, those skilled in the art will appreciate that there arenumerous variations and permutations of the above described systems andtechniques that fall within the spirit and scope of the invention as setforth in the appended claims.

1. A scrolling control system for use with a data processing devicehaving a display, comprising: an input device for providing, in responseto user actuations of the device, control of a cursor position on saiddisplay; at least one user actuated switch; and control means responsiveto a user actuation of said switch to enter a view scrolling modewherein view scrolling of a document is controlled such that a scrollamount is based upon a position value determined by a user actuation ofthe input device, independent of a position of said cursor in relationto any scroll functionality elements appearing on said display.
 2. Ascrolling control system according to claim 1, wherein in said scrollingmode a fixed linear relationship exists between a displacementrepresented by said position value and the scroll amount.
 3. A scrollingcontrol system according to claim 1, said scrolling mode comprising apage positional scrolling (PPS) mode wherein a one-to-one relationshipexists between a displacement represented by said position value and ascroll amount.
 4. A scrolling control system according to claim 1, saidscrolling mode comprising a document positional scrolling (DPS) modewherein a unit amount of displacement represented by said position valueresults in a scroll amount corresponding to one of: a ratio of documentlength to page length; and a ratio of document width to page width.
 5. Ascrolling control system according to claim 3, said scrolling modefurther comprising a document positional scrolling mode wherein a unitamount of displacement represented by said position value results in ascroll amount corresponding to one of: a ratio of document length topage length; and a ratio of document width to page width.
 6. A scrollingcontrol system according to claim 5, said scrolling mode furthercomprising a transitional scrolling mode providing a scroll amount thatvaries between the scroll amount obtained in said PPS mode and thescroll amount obtained in said DPS mode.
 7. A scrolling control systemaccording to claim 6, wherein the scroll amount varies smoothly betweenthe scroll amount obtained in said PPS mode and the scroll amountobtained in said DPS mode, as a function of a displacement representedby said position value.
 8. A scrolling control system according to claim7, wherein the function is f(m,n) such that: if (m/n)<C₁, thenf(m,n)=((C₂−1)/D) (m/n)²; if (mn/n)>C₂, then f(m,n)=(1/D)((mn/n)−2(mn/n)+1)+1; and otherwise, f(m,n)=M(m/n)−(C₁ M/2); where C₁and C₂ are internal function boundaries, D is a function of C₁ and C₂, Mis a function of D and C₂, m is a displacement value, and n is a measureof a displacement region.
 9. A scrolling control system according toclaim 1, wherein said scrolling mode is maintained by maintaining saiduser actuated switch in a closed condition, and is exited by releasingsaid switch.
 10. A scrolling control system according to claim 1,wherein the control means inhibits display of said cursor during saidscrolling mode.
 11. A scrolling control system according to claim 1,wherein said input device comprises a movable member, and said useractuation of the device comprises a movement of the moveable member. 12.A scrolling control system according to claim 11, wherein in saidscrolling mode a fixed linear relationship exists between a displacementof the movable member in a predetermined direction, and the scrollamount.
 13. A scrolling control system according to claim 11, saidscrolling mode comprising a page positional scrolling (PPS) mode whereina one-to-one relationship exists between a displacement of the movablemember in a predetermined direction, and the scroll amount.
 14. Ascrolling control system according to claim 11, said scrolling modecomprising a document positional scrolling (DPS) mode wherein a unitamount of displacement of the moveable member in a predetermineddirection results in a scroll amount corresponding to one of: a ratio ofdocument length to page length; and a ratio of document width to pagewidth.
 15. A scrolling control system according to claim 11, saidscrolling mode further comprising a document positional scrolling (DPS)mode wherein a unit amount of displacement of the moveable member in apredetermined direction results in a scroll amount corresponding to oneof: a ratio of document length to page length; and a ratio of documentwidth to page width.
 16. A scrolling control system according to claim15, said scrolling mode further comprising a transitional scrolling modeproviding a scroll amount that varies between the scroll amount obtainedin said PPS mode and the scroll amount obtained in said DPS mode.
 17. Ascrolling control system according to claim 18, wherein the scrollamount varies smoothly between the scroll amount obtained in said PPSmode and the scroll amount obtained in said DPS mode, as a function of adisplacement of the moveable member in a predetermined direction.
 18. Ascrolling control system according to claim 17, wherein the function isf(m,n) such that: if (m/n)<C₁, then f(m,n)=((C₂−1)/D) (m/n)²; if(M/n)>C₂, then f(m,n)=(1/D) ((m/n)−2(m/n)+1)+1; and otherwise,f(m,n)=M(m/n)−(C₁ M/2); where C₁ and C₂ are internal functionboundaries, D is a function of C₁ and C₂, M is a function of D and C₂, mis a displacement value, and n is a measure of a displacement region.19. A scrolling control system according to claim 16, wherein saidcontrol means records a home position of the moveable member when thesystem enters the scrolling mode, monitors an offset of the moveablemember from the home position while the system is in the scrolling mode,implements the PPS mode when the offset of the moveable member is withina first range, implements the transitional scrolling mode when theoffset of the moveable member is within a second range above said firstrange, and implement the DPS mode when the offset of the moveable memberis within a third range above said second range.
 20. A scrolling controlsystem according to claim 19, wherein the control means resets the homeposition of the moveable member to a current position of the moveablemember on the occurrence of at least one of the following events: themoveable member is moved at a rate slower than a predetermined thresholdrate; the direction of movement of the moveable member changes; and themoveable member is not moved for a predetermined amount of time.
 21. Thesystem of claim 20, wherein the predetermined amount of time isapproximately 150 milliseconds.
 22. The system of claim 20, wherein thethreshold rate is between 75 and 200 pixels per second.
 23. The systemof claim 22, wherein the threshold rate is approximately 120 pixels persecond.
 24. A scrolling system according to claim 11, wherein said useractuated switch is provided on said input device.
 25. A scrollingcontrol system according to claim 24, wherein said scrolling mode ismaintained by maintaining said user actuated switch in a closedcondition, and is exited by releasing said switch.
 26. A scrollingcontrol system according to claim 11, wherein the control means inhibitsdisplay of said cursor during said scrolling mode.
 27. A scrollingcontrol system according to claim 11, wherein said user input devicecomprises a computer mouse which itself constitutes said movable member.28. A method for controlling scrolling of a document in a dataprocessing system having a display, a user actuated switch and an inputdevice that provides positional control of a cursor on said display inresponse to a user actuation of said input device, comprising: enteringa view scrolling mode in response to a user actuation of said switch;and controlling view scrolling such that a scroll amount is based on aposition value determined by the user actuation of the input device,said control being independent of a position of said cursor in relationto any scroll functionality elements appearing on said display.
 29. Amethod according to claim 28, wherein in said scrolling mode a fixedlinear relationship exists between a displacement represented by saidposition value and the scroll amount.
 30. A method according to claim28, said scrolling mode comprising a page positional scrolling (PPS)mode wherein a one-to-one relationship exists between a displacementrepresented by said position value, and a scroll amount.
 31. A methodaccording to claim 28, said scrolling mode comprising a documentpositional scrolling (DPS) mode wherein a unit amount of change in adisplacement represented by said position value results in a scrollamount corresponding to one of: a ratio of document length to pagelength; and a ratio of document width to page width.
 32. A methodaccording to claim 30, said scrolling mode further comprising a documentpositional scrolling (DPS) mode wherein a unit amount of change in saiddisplacement results in a scroll amount corresponding to one of: a ratioof document length to page length; and a ratio of document width to pagewidth.
 33. A method according to claim 32, said scrolling mode furthercomprising a transitional scrolling mode providing a scroll amount thatvaries between the scroll amount obtained in said PPS mode and thescroll amount obtained in said DPS mode.
 34. A method according to claim33, wherein the scroll amount varies smoothly between the scroll amountobtained in said PPS mode and the scroll amount obtained in said DPSmode, as a function of said displacement.
 35. A method according toclaim 34, wherein the function is f(m,n) such that: If (mn/n)<C₁, thenf(m,n)=((C₂−1)/D)(m/n)²; If (m/n)>C₂, thenf(m,n)=(1/D)((mn/n)−2(m/n)+1)+1; and Otherwise, f(m,n)=M(m/n)−(C₁ M/2);where C₁ and C₂ are internal function boundaries, D is a function of C₁and C₂, M is a function of D and C₂, m is a displacement value, and n isa measure of a displacement region.
 36. A method according to claim 28,further comprising: maintaining the scrolling mode while said useractuated switch is maintained in a closed condition; and exiting thescrolling mode when the switch is released.
 37. A method according toclaim 28, further comprising: inhibiting display of said cursor duringsaid scrolling mode.
 38. A method according to claim 28, wherein saidinput device comprises a movable member, and said user actuation of theinput device comprises movement of the moveable member.
 39. A methodaccording to claim 38, wherein in said scrolling mode a fixed linearrelationship exists between a displacement of the movable member in apredetermined direction, and the scroll amount.
 40. A method accordingto claim 38, said scrolling mode comprising a page positional scrolling(PPS) mode wherein a one-to-one relationship exists between adisplacement of the movable member in a predetermined direction, and thescroll amount.
 41. A method according to claim 38, said scrolling modecomprising a document positional scrolling (DPS) mode wherein a unitamount of displacement of the moveable member in a predetermineddirection results in a scroll amount corresponding to one: of a ratio ofdocument length to page length; and a ratio of document width to pagewidth.
 42. A method according to claim 40, said scrolling mode furthercomprising a document positional scrolling (DPS) mode wherein a unitamount of the displacement results in a scroll amount corresponding toone of: a ratio of document length to page length; and a ratio ofdocument width to page width.
 43. A method according to claim 42, saidscrolling mode farther comprising a transitional scrolling modeproviding a scroll amount that varies between the scroll amount obtainedin said PPS mode and the scroll amount obtained in said DPS mode.
 44. Amethod according to claim 43, wherein the scroll amount varies smoothlybetween the scroll amount obtained in said PPS mode and the scrollamount obtained in said DPS mode, as a function of said displacement.45. A method according to claim 44, wherein the function is f(m,n) suchthat: if (m/n)<C₁, then f(m,n)=((C₂−1)/D)(m/n)²; if (m/n)>C₂, thenf(m,n)=(1/D)((m/n)−2(m/n)+1)+1; and otherwise, f(m,n)=M(m/n)−(C₁ M/2);where C₁ and C₂ are internal function boundaries, D is a function of C₁and C₂, M is a function of D and C₂, m is a displacement value, and n isa region length.
 46. A method according to claim 43, further comprising:recording a home position of the moveable member when the system entersthe scrolling mode; monitoring an offset of the moveable member from thehome position while the system is in the scrolling mode; implementingthe PPS mode when the offset of the moveable member is within a firstrange; implementing the transitional scrolling mode when the offset ofthe moveable member is within a second range above said first range; andimplementing the DPS mode when the offset of the moveable member iswithin a third range above said second range.
 47. A method according toclaim 46, further comprising: resetting the home position of themoveable member to a current position of the moveable member on theoccurrence of at least one of the following events: the moveable memberis moved at a rate slower than a predetermined threshold rate; thedirection of movement of the moveable member changes; and the moveablemember is not moved for a predetermined amount of time.
 48. A methodaccording to claim 47, wherein the predetermined amount of time isapproximately 150 milliseconds.
 49. A method according to claim 47,wherein the threshold rate is between 75 and 200 pixels per second. 50.A method according to claim 49, wherein the threshold rate isapproximately 120 pixels per second.
 51. A method according to claim 38,wherein said user actuated switch is provided on said input device. 52.A method according to claim 51, further comprising: maintaining saidscrolling mode by maintaining said user actuated switch in a closedcondition; and exiting said scrolling mode by releasing said switch. 53.A method according to claim 38, further comprising: inhibiting displayof said cursor during said scrolling mode.
 54. A method according toclaim 38, wherein said user input device comprises a computer mousewhich itself constitutes said movable member.
 55. A scrolling controlsystem for use with a data processing device having a display,comprising: an input device for providing, in response to useractuations of the device, control of a cursor position on said display;at least one user actuated switch; and control means responsive to auser actuation of said switch to enter a scrolling mode whereinscrolling of a document is controlled such that a scroll amount is basedupon a position value determined by a user actuation of the inputdevice; wherein said scrolling mode comprises: a page positionalscrolling (PPS) mode wherein a one-to-one relationship exists between adisplacement represented by said position value and a scroll amount; adocument positional scrolling (DPS) mode wherein a unit amount ofdisplacement represented by said position value results in a scrollamount corresponding to one of a ratio of document length to page lengthand a ratio of document width to page width; and a transitionalscrolling mode providing a scroll amount that varies between the scrollamount obtained in said PPS mode and the scroll amount obtained in saidDPS mode.
 56. A scrolling control system according to claim 55, whereinduring the transitional scrolling mode the scroll amount varies smoothlybetween the scroll amount obtained in said PPS mode and the scrollamount obtained in said DPS mode, as a function of said displacementrepresented by said position value.
 57. A scrolling control systemaccording to claim 56, wherein the function is f(m,n) such that: if(mn/n)<C₁, then f(m,n)=((C₂−1)/D)(m/n)²; if (m/n)>C₂, thenf(m,n)=(1/D)((mn/n)−2(m/n)+1)+1; and otherwise, f(m,n)=M(m/n)−(C₁ M/2);wherein C₁ and C₂ are internal function boundaries, D is a function ofC₁ and C₂, M is a function of D and C₂, m is a displacement value, and nis a measure of a displacement region.
 58. A scrolling control systemaccording to claim 55, wherein said control means is operative on asystem-wide level.
 59. A method for controlling scrolling of a documentin a data processing system having a display, a user actuated switch andan input device that provides positional control of a cursor on saiddisplay in response to a user actuation of said input device, comprisingthe steps of: entering a scrolling mode in response to a user actuationof said switch; and controlling scrolling such that a scroll amount isbased on a position value determined by the user actuation of the inputdevice; wherein said scrolling mode comprises: a page positionalscrolling (PPS) mode wherein a one-to-one relationship exists between adisplacement represented by said position value and a scroll amount; adocument positional scrolling (DPS) mode wherein a unit amount ofdisplacement represented by said position value results in a scrollamount corresponding to one of a ratio of document length to page lengthand a ratio of document width to page width; and a transitionalscrolling mode providing a scroll amount that varies between the scrollamount obtained in said PPS mode and the scroll amount obtained in saidDPS mode.
 60. A method according to claim 59, wherein in thetransitional scrolling mode the scroll amount varies smoothly betweenthe scroll amount obtained in said PPS mode and the scroll amountobtained in said DPS mode, as a function of said displacementrepresented by said position value.
 61. A method according to claim 60,wherein the function is f(m,n) such that: if (m/n)<C₁, thenf(m,n)=((C₂−1)/D)(m/n)²; if (m/n)>C₂, thenf(m,n)=(1/D)((m/n)−2(m/n)+1)+1; and otherwise, f(m,n)=M(m/n)−(C₁ M/2);wherein C₁ and C₂ are internal function boundaries, D is a function ofC₁ and C₂, M is a function of D and C₂, in is a displacement value, andn is a measure of a displacement region.
 62. A method according to claim59, wherein the controlling scrolling step is carried out on asystem-wide level.
 63. A scrolling control system for use with a dataprocessing device having a display, comprising: an input device forproviding, in response to user actuations of the device, control of acursor position on said display; at least one user actuated switch; andcontrol means responsive to a user actuation of said switch to enter ascrolling mode wherein scrolling of a document is controlled such that ascroll amount is based upon a position value determined by a useractuation of the input device, independent of a position of said cursorin relation to any scroll functionality elements appearing on saiddisplay; wherein said scrolling mode comprises a document positionalscrolling (DPS) mode wherein a unit amount of displacement representedby said position value results in a scroll amount corresponding to oneof: a ratio of document length to page length; and a ratio of documentwidth to page width.
 64. A method for controlling scrolling of adocument in a data processing system having a display, a user actuatedswitch and an input device that provides positional control of a cursoron said display in response to a user actuation of said input device,comprising: entering a scrolling mode in response to a user actuation ofsaid switch; and controlling scrolling such that a scroll amount isbased on a position value determined by the user actuation of the inputdevice, said control being independent of a position of said cursor inrelation to any scroll functionality elements appearing on said display;wherein said scrolling mode comprising a document positional scrolling(DPS) mode wherein a unit amount of change in a displacement representedby said position value results in a scroll amount corresponding to oneof: a ratio of document length to page length; and a ratio of documentwidth to page width.